package com.storage.system.service;

import com.storage.common.core.domain.AjaxResult;
import com.storage.common.core.domain.ServiceResponse;
import com.storage.common.core.page.TableDataInfo;
import com.storage.system.domain.StorageMessage;
import com.storage.system.domain.StorageNoticeMessage;
import com.storage.system.domain.StorageUser;

import java.util.List;

/**
 * 用户 服务层
 *
 * @author ruoyi
 * @date 2019-09-12
 */
public interface IStorageMessageService {
    /**
     * 查询用户信息
     *
     * @param id 用户ID
     * @return 用户信息
     */
    public StorageMessage selectStorageMessageById(Long id);

    /**
     * 查询用户列表
     *
     * @param storageMessage 用户信息
     * @return 用户集合
     */
    public ServiceResponse<TableDataInfo> selectStorageMessageList(StorageMessage storageMessage, Integer pageNum, Integer pageSize);

    /**
     * 新增用户
     *
     * @param storageMessage 用户信息
     * @return 结果
     */
    public AjaxResult insertStorageMessage(StorageUser user, StorageMessage storageMessage);

    /**
     * 修改用户
     *
     * @param storageMessage 用户信息
     * @return 结果
     */
    public int updateStorageMessage(StorageMessage storageMessage);

    /**
     * 删除用户信息
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteStorageMessageByIds(String ids);

    /**
     * 查询推送消息列表
     * @param storageNoticeMessage
     * @return
     */
    ServiceResponse<List<StorageNoticeMessage>> selectStorageNoticeMessageList(StorageUser storageUser, StorageNoticeMessage storageNoticeMessage);

    /**
     * 更新推送消息状态
     */
    ServiceResponse<StorageNoticeMessage> updateNoticeStatus(StorageUser storageUser, StorageNoticeMessage storageNoticeMessage);

    /**
     * 新增系统消息
     */
    ServiceResponse<StorageNoticeMessage> insertNoticeMessage(StorageNoticeMessage storageNoticeMessage);

}
